import React, { Component } from 'react';
/* 
属性代理-抽离state
所谓的属性抽离就是把一些状态代码放到一个地方加以复用
*/
class Tesing extends Component {
    render() {
        return (
            <div>
               <InpBox></InpBox>
            </div>
        );
    }
}
class Inp extends Component{
    render (){
        return (
            <input value={this.props.value} onChange={this.props.onChange}></input>
        )
    }
}
function withOnChange(WrappedComponent){
    return class InpEvent extends Component{
        state={
            value:""
        }
        handleChange=(e)=>{
            this.setState({
                value:e.target.value
            })
            // console.log(e)
        }
        render(){
            return <WrappedComponent value={this.state.value} onChange={this.handleChange}></WrappedComponent>
        }
    }

}
let InpBox=withOnChange(Inp)
export default Tesing;